Formal Languages, Formally and Coinductively

نویسنده

  • Dmitriy Traytel
چکیده

Traditionally, formal languages are defined as sets of words. More recently, the alternative coalgebraic or coinductive representation as infinite tries, i.e., prefix trees branching over the alphabet, has been used to obtain compact and elegant proofs of classic results in language theory. In this article, we study this representation in the Isabelle proof assistant. We define regular operations on infinite tries and prove the axioms of Kleene algebra for those operations. Thereby, we exercise corecursion and coinduction and confirm the coinductive view being profitable in formalizations, as it improves over the set-of-words view with respect to proof automation.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Almost Sure Productivity

We define Almost Sure Productivity (ASP), a probabilistic generalization of the productivity condition for coinductively defined structures. Intuitively, a probabilistic coinductive stream or tree is ASP if it produces infinitely many outputs with probability 1. Formally, we define almost sure productivity using a final coalgebra semantics of programs inspired from Kerstan and König. Then, we i...

متن کامل

Towards a Formally Verified Proof Assistant

This technical report describes our progress towards a formally verified version of the Nuprl Proof Assistant. We define a deep embedding of most of Nuprl into Coq. Among others, it includes a nominal-style definition of the Nuprl language, reduction rules, a coinductively defined computational equivalence, and the curry-style type system where types are defined as partial equivalence relations...

متن کامل

Formally Defining Debuggers: A Comparison of Three Approaches

Although there is a large body of literature on formal deenitions of programming languages, relatively little work has been done in applying formal techniques to deening debuggers. Natural operational semantics, denotational semantics and transitional operational semantics are all proven techniques for formally deening programming languages. In this paper we present techniques for formally deen...

متن کامل

?Logic and Formal Ontology: Is the Final Formal Ontology Possible

Musa Akrami AbstractMany philosophers and logicians have contemplated the relationship between ontology and logic. The author of this paper, working within a Bolzanoan-Husserlian tradition of studying both ontology and logic, considers ontology as the science of the most general features of beings and the most general relations among them. He considers logic as the science concernin...

متن کامل

Proving language inclusion and equivalence by coinduction

Language equivalence and inclusion can be checked coinductively by establishing a (bi)simulation on suitable deterministic automata. In this paper we present an enhancement of this technique called (bi)simulation-up-to. We give general conditions on language operations for which bisimulation-up-to is sound. These results are illustrated by a large number of examples, giving new proofs of classi...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Logical Methods in Computer Science

دوره 13  شماره 

صفحات  -

تاریخ انتشار 2016